package com.spgf.controller;

import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import com.archtecture.model.exceptions.NegocioException;
import com.spgf.model.rn.LancamentoRN;
import com.spgf.model.rn.OrcamentoRN;
import com.spgf.model.utils.AndroidUtil;

public class ResumoActivity extends PadraoActivity {

	private TextView	lblValorApurado;

	private TextView	lblValorEsperado;

	private TextView	lblValorTotal;

	@Override
	protected void construirTela(Bundle savedInstanceState) throws NegocioException {
		setContentView(R.layout.activity_resumo);

		Double lValorApurado = new LancamentoRN(this).calcularValorTotal();
		Double lValorEsperado = new OrcamentoRN(this).calcularValorEsperado();
		Double lValorTotal = lValorApurado - lValorEsperado;

		lblValorApurado = (TextView) findViewById(R.id.lbl_resumo_apurado_valor);
		lblValorApurado.setText(AndroidUtil.obterValorMonetario(lValorApurado));

		lblValorEsperado = (TextView) findViewById(R.id.lbl_resumo_esperado_valor);
		lblValorEsperado.setText(AndroidUtil.obterValorMonetario(lValorEsperado));

		lblValorTotal = (TextView) findViewById(R.id.lbl_resumo_total_valor);
		lblValorTotal.setText(AndroidUtil.obterValorMonetario(lValorTotal));

		((Button) findViewById(R.id.btn_resumo_relatorio_categoria)).setOnClickListener(this);

		// TODO Apagar depois
		((Button) findViewById(R.id.btn_resumo_despesas_pendentes)).setOnClickListener(this);
		((Button) findViewById(R.id.btn_resumo_manutencao)).setOnClickListener(this);
	}

	@Override
	protected void executarClick(View pView) throws NegocioException {

		if (pView.getId() == R.id.btn_resumo_relatorio_categoria) {
			Intent lIntent = new Intent(this, RelatorioCategoriasActivity.class);
			startActivity(lIntent);
		}

		// TODO Apagar depois
		else if (pView.getId() == R.id.btn_resumo_despesas_pendentes) {
			Intent lIntent = new Intent(this, PendenciasActivity.class);
			startActivity(lIntent);
		} else if (pView.getId() == R.id.btn_resumo_manutencao) {
			Intent lIntent = new Intent(this, ManutencaoActivity.class);
			startActivity(lIntent);
		}

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		MenuInflater inflater = getMenuInflater();
		inflater.inflate(R.menu.menu, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {

		// Handle item selection
		switch (item.getItemId()) {
			case R.id.menu_importar_lancamento:
				try {
					new LancamentoRN(this).importarLancamento();
					Toast.makeText(this, "Despesas cadastradas com sucesso.", Toast.LENGTH_LONG).show();
				} catch (NegocioException e) {
					Toast.makeText(this, AndroidUtil.obterMensagemErro(e), Toast.LENGTH_LONG).show();
				}
				return true;
			default:
				return super.onOptionsItemSelected(item);
		}
	}
}
